Generally, performance testing of an application may be done in order to check for reliability, scalability, and resource utilization of the application. The performance of the application may be tested on the basis of performance metrics. The performance metrics are benchmarks on the basis of which the application is tested for performance and efficiency. The performance metrics may include Central Processing Unit (CPU) usage, instructions executed per second, and the like.
In order to efficiently test and monitor the application, the data pertaining to the performance metrics may be monitored in real time. Such data may be referred to as metrics data. For real-time monitoring, the metrics data are collected simultaneously with the ongoing testing of the application and made available to a user who is testing the application.
However, as the volume of the collected metrics data is usually quite large, data loss may occur while transferring the metrics data in real time. Any loss in metrics data may result in reporting of inaccurate results of the performance testing of the application. Further, often times, real time data monitoring increases the overhead of the machine in which the application is running, hence decreasing the computational efficiency of the machine.